CREATE PROCEDURE [dbo].[PDA_InsertHavalehRow]
    @Id NUMERIC(18, 0),
    @GoodsCode VARCHAR(17),
    @WarehouseCode VARCHAR(3),
    @Qty MONEY
AS
BEGIN
    IF EXISTS
    (
        SELECT 1
        FROM dbo.TmpHavaleh
        WHERE Id_Havaleh = @Id
              AND Sender = @WarehouseCode
              AND K_Code = @GoodsCode
	      AND Link_Record = 0
    )
    BEGIN

        UPDATE dbo.TmpHavaleh
        SET K_Qty1 = K_Qty1 + @Qty
        WHERE Id_Havaleh = @Id
              AND Sender = @WarehouseCode
              AND K_Code = @GoodsCode
	      AND Link_Record = 0
    END
    ELSE
    BEGIN

        INSERT INTO dbo.TmpHavaleh
        (
            Id_Havaleh,
            Radif,
            Sender,
            Reciver,
            K_Code,
            R_Unit1_2,
            Exp_Flag,
            Point_Flag,
            Price_Omdeh,
            Serial_Flag,
            Make_Flag,
            Hamrah_Flag,
            Price_KHarid,
            Price_Forosh,
            K_Qty1,
            CtrMojodi,
            Cooperative_Flag,
            Takhfif_Flag,
            K_Qty2,
            Price_Consumer,
            Price_Finish
        )
        (SELECT @Id,
                1,
                @WarehouseCode,
                '10000',
                @GoodsCode,
                K.R_Unit1_2,
                K.Exp_Flag,
                K.Point_Flag,
                A.Price_Omdeh,
                K.Serial_flag,
                K.Make_Flag,
                K.Hamrah_Flag,
                A.Price_Kharid,
                A.Price_Forosh,
                @Qty,
                K.CtrMojodi,
                '0',
                '0',
                1,
                CASE
                    WHEN ISNULL(A.Price_Consumer, 0) = 0 THEN
                        A.Price_Forosh
                    WHEN A.Price_Consumer < A.Price_Forosh THEN
                        A.Price_Forosh
                    ELSE
                        A.Price_Consumer
                END,
                A.Price_Finish
         FROM dbo.KalaId K
             LEFT JOIN dbo.Anbar A
                 ON A.A_Code = @WarehouseCode
                    AND A.K_Code = K.K_Code
         WHERE K.K_Code = @GoodsCode);
    END;
END;

